欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

常見的8種JAVA數(shù)據(jù)結(jié)構(gòu)

? ?1、 數(shù)組(Arrary)

? ? ? ? ? ? ? ? 數(shù)組是一種線性結(jié)構(gòu)的數(shù)據(jù),連續(xù)的存儲空間和相同的類型數(shù)據(jù)。查詢速度快,但是數(shù)組的容量固定,無法擴容,只能存儲同類型的數(shù)據(jù),對于添加和刪除元素比較慢

? ? ? ? 2、棧(Stark)

? ? ? ? ? ? ? ? 棧是一種先進后出的一種結(jié)構(gòu),好比水桶。例如虛擬機棧,方法棧等

? ? ? ? 3、鏈表(Linked List)

? ? ? ? ? ? ? ? 鏈表是一種線性的鏈?zhǔn)浇Y(jié)構(gòu),鏈表的內(nèi)存不是連續(xù)的,前一個節(jié)點存儲的地址不一定就是一個元素,可能是一個引用,通過這個引用可以拿到對應(yīng)的對象。鏈表是通過一個節(jié)點指向另一個節(jié)點的地址將元素串起來。

? ? ? ? ? ? ? ? 單向鏈表:最簡單的鏈表格式。鏈表的最小單元為節(jié)點,每一個節(jié)點包含了數(shù)據(jù)和指向下一個節(jié)點的指針。

? ? ? ? ? ? ? ? 雙向鏈表:兩個方向的鏈表。鏈表的每個節(jié)點包含了數(shù)據(jù)以及前一個節(jié)點地址的指針和后一個節(jié)點的地址指針。這種數(shù)據(jù)結(jié)構(gòu)的好處是通過當(dāng)前節(jié)點可以通過時間復(fù)雜度o(1)很快定位到前置節(jié)點和后置節(jié)點,但是通過前置指針和后置指針的配置增加了內(nèi)存的消耗。

? ? ? ? ? ? ? ? 循環(huán)鏈表:跟雙向列表差不多,但是唯一的區(qū)別就是尾節(jié)點的后置指針指向頭節(jié)點,頭節(jié)點也有指針指向了尾節(jié)點。

? ? ? ? 3、哈希(Hash)

? ? ? ? ? ? ? ? 哈希也叫做散列。通過key-vlue的方式存儲,在很大程度上提高了數(shù)據(jù)的查詢,增加和刪除。hash結(jié)合數(shù)組和鏈表的特性(數(shù)組查詢快,鏈表增刪快)。

? ? ? ? ? ? ? ? Java最經(jīng)典的HashMap的底層實現(xiàn)是數(shù)組+鏈表+紅黑樹

? ? ? ? ? ? ? ? hash函數(shù)在hash表中起到至關(guān)重要作用,數(shù)據(jù)通過hash函數(shù)生成一個固定的hash值,通過hash值可以很快的定位到元素。但是hash值不是唯一的,就將hash值相同的放入鏈表中,如果鏈表的長度超過8,或者大小超過64,就將鏈表轉(zhuǎn)化為紅黑樹。

? ? ? ? 4、隊列(Queue)

? ? ? ? ? ? ? ? 隊列是特殊的線性結(jié)構(gòu),一種先進先出的數(shù)據(jù)存儲結(jié)構(gòu),數(shù)據(jù)的刪除操作只能在頭部操作,插入在尾部操作。

? ? ? ? 5、樹(Tree)

? ? ? ? ? ? ? ? 樹是一種線性結(jié)構(gòu),有節(jié)點組成的集合。

? ? ? ? ? ? ? ? 二叉樹:每一個節(jié)點最多有兩個子樹

? ? ? ? ? ? ? ? 完全二叉樹:除了最外層節(jié)點,其他的節(jié)點都達到最大的層數(shù)

? ? ? ? ? ? ? ? 滿二叉樹:一個樹的節(jié)點要么是葉子節(jié)點,要么就是有兩個節(jié)點

? ? ? ? ? ? ? ? 平衡二叉樹:任何節(jié)點的子樹高度差不超過1;

? ? ? ? ? ? ? ? 二叉查找樹:任意節(jié)點的左子樹都不能為空,并且左子樹所有節(jié)點的值都小于根節(jié)點;任意節(jié)點的右子樹不能為空,并且右子樹所有節(jié)點的值都大于根節(jié)點;任意節(jié)點的左右子樹都是一個二叉查找樹。

? ? ? ? ? ? ? ? B樹:一種堆讀寫優(yōu)化的自平衡二叉樹,在數(shù)據(jù)庫索引的常用索引數(shù)據(jù)的結(jié)構(gòu)。

? ? ? ? ? ? ? ? B+樹:所有非葉子節(jié)點都是索引部分,節(jié)點中僅包含根節(jié)點的最大或者最小的關(guān)鍵字;所有葉子節(jié)點包含了所有關(guān)鍵字的信息以及含有這些關(guān)鍵字記錄的指針,而且葉子節(jié)點數(shù)據(jù)根據(jù)關(guān)鍵節(jié)點的大小從小到大排列;m個子樹的中間節(jié)點包含有m個元素,每個元素不包含數(shù)據(jù),只包含索引。

? ? ? ? ? ? ? ? 紅黑樹

? ? ? ? ? ? ? ? 紅黑樹是一種平衡二叉樹,通過顏色約束樹的平衡。每一個元素要么紅色,要么黑色;根節(jié)點一定是黑色;每個葉子節(jié)點都是黑色的;如果一個節(jié)點為紅色,那么他的所有子節(jié)點都是黑色,因為每一條路徑上都不能出現(xiàn)相鄰兩個節(jié)點是同一顏色;每一個葉子節(jié)點的所有路徑存在的黑色節(jié)點都相同。

? ? ? ? 6、堆(Heap)

? ? ? ? ? ? ? ? 堆是一種特殊的樹形結(jié)構(gòu),父節(jié)點的值大于等于子節(jié)點的值或者小于子節(jié)點的值。對于max heap根節(jié)點是所有節(jié)點的最大值 或者min heap根節(jié)點值是所有節(jié)點最小的值。

? ? ? ? 7、圖(Graph)

? ? ? ? ? ? ? ? 一個圖就是一些頂點的集合,這些頂點通過一系列邊結(jié)對(連接)。頂點用圓圈表示,邊就是這些圓圈之間的連線。頂點之間通過邊連接。

? ? ? ? ? ? ? ? 節(jié)點之間的關(guān)系是任意的,圖中任意兩個數(shù)據(jù)元素之間都有可能相關(guān)。

文章鏈接: http://m.qzkangyuan.com/22189.html

文章標(biāo)題:常見的8種JAVA數(shù)據(jù)結(jié)構(gòu)

文章版權(quán):夢飛科技所發(fā)布的內(nèi)容,部分為原創(chuàng)文章,轉(zhuǎn)載請注明來源,網(wǎng)絡(luò)轉(zhuǎn)載文章如有侵權(quán)請聯(lián)系我們!

聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
建站教程

常見的8種JAVA數(shù)據(jù)結(jié)構(gòu)

2023-7-19 17:08:09

建站教程

線索化二叉樹

2023-7-19 17:10:36

0 條回復(fù) A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 惠州市| 滨海县| 仙桃市| 镇江市| 南阳市| 明水县| 边坝县| 西乌珠穆沁旗| 长汀县| 霞浦县| 石台县| 闸北区| 桦南县| 陆良县| 仁怀市| 沂南县| 伽师县| 招远市| 卓尼县| 新乡县| 民乐县| 龙江县| 云安县| 谢通门县| 鲁山县| 隆安县| 蒙自县| 西盟| 三原县| 双城市| 大化| 南投市| 木兰县| 高雄县| 镇安县| 婺源县| 东乌珠穆沁旗| 平潭县| 宜兰县| 张掖市| 余干县|